#include "enemyplane.h"
#include "config.h"
#include <QApplication>

EnemyPlane::EnemyPlane() 
    : m_X(0), m_Y(0), m_Free(true), m_Speed(ENEMY_SPEED) 
{
    // 敌机资源加载
    m_enemy.load(ENEMY_PATH);

    // 敌机矩形框 （碰撞检测）
    m_Rect.setWidth(m_enemy.width());
    m_Rect.setHeight(m_enemy.height());
    m_Rect.moveTo(m_X, m_Y);
}

void EnemyPlane::updatePosition() {
    // 空闲状态敌机 不计算坐标
    if (m_Free) {
        return;
    }

    // 增加速度变化的功能，每次更新时提升速度
    m_Speed += 0.1;  // 每次更新加速

    m_Y += m_Speed;  // 垂直移动
    m_X += rand() % 3 - 1;  // 水平随机小范围移动 (-1, 0, 1)

    // 更新矩形框的位置
    m_Rect.moveTo(m_X, m_Y);

    // 如果超出了屏幕，重置空闲状态
    if (m_Y >= GAME_HEIGHT + m_Rect.height()) {
        m_Free = true;
    }
}  

